package com.foruo.learn.jvisualvm;

/**
 * 监控CPU性能
 *
 * 抽样器 - CPU - 线程CPU时间
 *
 * @author GaoYuan
 * @date 2018/5/28 上午10:10
 */
public class TestCPU extends Thread{


    public static void testCPU() throws Exception{
        //90%的占有率
        int busyTime = 9;
        long startTime;

        //死循环
        while (true){
            startTime = System.currentTimeMillis();
            while ((System.currentTimeMillis() - startTime) <= busyTime){
            }
            //休息时间
            Thread.sleep(2);
        }
    }

    @Override
    public void run() {
        try {
            testCPU();
        }catch (Exception e){
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws Exception{
        /** 因为我是8核，开启四个线程，最多只能达到 （9/10）*（4/8）= 45% 左右的占有率 */
        new TestCPU().start();
        new TestCPU().start();
        new TestCPU().start();
        new TestCPU().start();

    }

}
